The present invention relates, in general, to communications systems and relates, more specifically, to the provision of services on such systems within a network.
In a communications system, a multinode messaging system may appear as a single system to the network while internally, it must distribute calls between its internal nodes. Such a system may employ a property called redirect. The redirect property is available in such protocols as the Session Initiation Protocol (SIP). Using redirect, a call is sent to a common externally known address of the messaging system. Those calls are then redirected to the node that will actually terminate the call. Since the redirection is a central-type function, it is normally placed on a centralized element of back-end hardware.
FIG. 1 illustrates such a prior art system 100 that makes use of a redirect server to terminate a call. Redirect server 140 receives a message signal from switch 120. The switch 120 may be a telephony switch such as a private branch exchange (PBX) switch. Depending on the availability of requested resources, the redirect server 140 will pass the message signal to one of telephony access nodes (TANs) 160 via an appropriate path. The TANs 160 terminate message signaling. The redirect server 140 distributes messages for the TANs 160.
There are two main drawbacks with a system such as that illustrated in FIG. 1. The first drawback is that the redirect server, due to its centralized nature, can cause a bottleneck in cases of increased traffic. Second, if a malfunction should occur in the redirect server, the entire system could cease to function properly, so a second redundant redirect server must be provisioned for high availability systems.
Therefore, it would be desirable to have a method and system that would address the above shortcomings of the centralized redirect server.
It is an object of the present invention to provide a system that removes the potential limitation of a bottleneck inherent with a central redirect server plus provides an inherent redundancy strategy.
The above object is achieved by eliminating the central redirect server. The redirection functionality is instead distributed across all telephony access nodes (TANs). This configuration resolves the problem of scalability since, as TANs are added for increased capacity, the redirect server capacity is augmented as well.
According to a first aspect of the invention, there is provided a communications system comprising: a switch for accepting incoming calls; a plurality of telephony access nodes for terminating said incoming calls; a distributed redirect server hosted on each of said plurality of telephony access nodes; and a load balancing unit for directing said incoming calls from said switch to one of the plurality of telephony access nodes, said plurality of telephony access nodes being connected to a back end cluster.
According to another aspect of the invention, there is provided a method of terminating a call in a communications system, said communications system comprising a switch, a plurality of telephony access nodes, a distributed redirect server, and a load balancing unit, the method comprising the steps of: generating an incoming call at said switch; directing said incoming call from said switch via said load balancing unit to said distributed redirect server for termination at one of said telephony access nodes; verifying, at said distributed redirect server, whether said one telephony access node has sufficient resources to answer said incoming call; and terminating said incoming call at said one telephony access node.
According to a further aspect of the invention, there is provided a method of terminating a call in a communications system, said communications system comprising a switch, a plurality of telephony access nodes, a distributed redirect server, and a load balancing unit, the method comprising the steps of: accepting an incoming call at said switch; directing said incoming call from said load balancing unit to said distributed redirect server for termination at a first one of said telephony access nodes; verifying, at said distributed redirect server, whether said first telephony access node has sufficient resources to answer said incoming call; determining whether a second one of said telephony access nodes has sufficient resources to answer said incoming call when said step of verifying has concluded that said first telephony access node does not have sufficient resources to answer said incoming call, wherein any of said redirect servers would have knowledge of available resources of any other TAN, and that said TAN could send a redirect message back to the switch and would direct it to send the Invite message to a specific TAN with available resources; and terminating said incoming call at said second telephony access node.